class Settings:
    app_name: str = "FastApi学习"
    admin_email: str
    items_per_user: int = 50
    description: str = 'aswome'
    version: str = '0.1.0'
    staticPath: str = 'static'  # 静态目录名称
    openapi_url: str | None = '/openapi.json'  # 如果想关闭接口文档则设置为None即可
    app_host: str = '0.0.0.0'
    app_port: int = 8000
    app_version: str = '1.0.0'
    app_reload: bool = True

    TOKEN_SECRET_KEY: str = 'fastapi_token'  # token的加密密钥
    TOKEN_EXPIRE_MINUTES: int = 1 * 24 * 60  # 30天过期
    # TOKEN_EXPIRE_MINUTES: int = 1  # 1分钟过期
    TOKEN_ALGORITHM = "HS256"  # 鉴权类型

    # TOKEN
    TOKEN_URL ='/login'

    # 用户密码生成key
    USER_PASS_KEY: str = 'fastapi_pass'

    DATA_NAME: str = 'fastapi'  # 数据库名称
    API_PREFIX: str = "/api"  # 接口前缀

    DATABASE_URI: str = f"mysql+pymysql://root:123456@127.0.0.1:3306/{DATA_NAME}?charset=utf8"  # 使用 pymysql 链接数据库
    DATABASE_ECHO: bool = True  # 是否打印数据库日志 (可看到创建表、表数据增删改查的信息)

    LOGGER_DIR: str = "logs"  # 日志文件夹名
    LOGGER_NAME: str = '{time:YYYY-MM-DD}.log'  # 日志文件名 (时间格式)
    LOGGER_LEVEL: str = 'DEBUG'  # 日志等级: ['DEBUG' | 'INFO']
    LOGGER_ROTATION: str = "00:00"  # 日志分片: 按 时间段/文件大小 切分日志. 例如 ["500 MB" | "12:00" | "1 week"]
    LOGGER_RETENTION: str = "1 days"  # 日志保留的时间: 超出将删除最早的日志. 例如 ["1 days"]


settings = Settings()
